#include "Paquet.h"


Paquet::Paquet(int type, char* message, int routeurEmetteur, int routeurPassage, int routeurRecepteur) {
    this->type = type;
    this->message = message;
    this->date = (char *) "-1";
	this->dureeVie = DUREE_VIE_PAQUET;
    this->routeurEmetteur = routeurEmetteur;
    this->routeurPassage = routeurPassage;
    this->routeurRecepteur = routeurRecepteur;
}


Paquet::Paquet(int type, char* message, int routeurEmetteur, int routeurPassage, int routeurRecepteur, int dureeVie) {
    this->type = type;
    this->message = message;
    this->date = (char *) "-1";
	this->dureeVie = dureeVie;
    this->routeurEmetteur = routeurEmetteur;
    this->routeurPassage = routeurPassage;
    this->routeurRecepteur = routeurRecepteur;
}


Paquet::Paquet(int type, char* message, int routeurEmetteur, int routeurRecepteur) {
    this->type = type;
    this->message = message;
    this->date = (char *) "-1";
	this->dureeVie = DUREE_VIE_PAQUET;
    this->routeurEmetteur = routeurEmetteur;
    this->routeurPassage = -1;
    this->routeurRecepteur = routeurRecepteur;
}


Paquet::Paquet(int type) {
    this->type = type;
    this->message = (char *) "-1";
    this->date = (char *) "-1";
	this->dureeVie = -1;
    this->routeurEmetteur = -1;
    this->routeurPassage = -1;
    this->routeurRecepteur = -1;
}


void Paquet::toString(char* paquet) {
    sprintf(paquet, "%d\n", this->type);

    if (strcmp(date, "-1") != 0)
        sprintf(paquet, "%s%s\n", paquet, this->date);

    if(dureeVie != -1)
        sprintf(paquet, "%s%d\n", paquet, this->dureeVie);

    if(routeurEmetteur != -1)
        sprintf(paquet, "%s%d\n", paquet, this->routeurEmetteur);
    
    if(routeurPassage != -1)
        sprintf(paquet, "%s%d\n", paquet, this->routeurPassage);

    if(routeurRecepteur != -1)
        sprintf(paquet, "%s%d\n", paquet, this->routeurRecepteur);
    
    if (strcmp(message, "-1") != 0)
        sprintf(paquet, "%s%s", paquet, this->message);
}
